<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>对象的深复制浅复制</title>
</head>
<body>
<script>
    //对象的浅复制
    function easyClone(obj){
        var objNew={};
        for(var i in obj){
            objNew[i]=obj[i];
        }
        //console.log(obj);
        //console.log(objNew);
        return objNew;
    }
    //浅复制，呃呃呃，就是不能深层次的复制，就是第二层的东西不能复制。

    var a={"a":[1,2,3],"b":"2"};
    //var b=easyClone(a);
    //b.a[2]="23232";
    //console.log(b);
    //console.log(a);

    //深复制
    function deepCopy(obj,objNew){
        var objNew=objNew || {};
        for(var i in obj){
            if(typeof obj[i]==='object'){
                //判断是否要深复制浅复制，因为对象的第一个属性也有可能是一个对象
                objNew[i]=(obj[i].constructor===Array) ? []:{};
                deepCopy(obj[i],objNew[i]);
            }else{
                objNew[i]=obj[i];
            }
        }
        return objNew;
    }
    //var a={"a":[1,2,3],"b":"2"};
    var result={};
    deepCopy(a,result);
    console.log(result);

   result.a[2]="sadknsjkn";
    console.log(result);
    console.log(a);


</script>
</body>
</html>